297f8058631abd131d87e25fdccd78e8057d8c37,algoliasearch/src/test/java/com/algolia/search/saas/IndexTest.java,IndexTest,testKeepAlive,#,605

Before Change


        for (int i = 0; i < nbTimes; i++) {
            startEndTimeArray[0] = System.nanoTime();
            final int finalIter = i;
            index.searchAsync(new Query("Francisco"), new CompletionHandler() {
                @Override
                public void requestCompleted(JSONObject content, AlgoliaException error) {
                    if (error == null) {
                        startEndTimeArray[1] = System.nanoTime();
                        final long iterDiff = startEndTimeArray[1] - startEndTimeArray[0];
                        final String iterString = String.format("iteration %d: %d < %d", finalIter, iterDiff, firstDurationNanos);

                        // And successful fastest subsequent calls
                        assertEquals(1, content.optInt("nbHits"));
                        assertTrue("Subsequent calls should be fastest than first (" + iterString + ")", startEndTimeArray[1] - startEndTimeArray[0] < firstDurationNanos);
                    } else {
                        fail(error.getMessage());
                    }
                    signal2.countDown();
                }
            });
        }
        assertTrue("No callback was called", signal2.await(Helpers.wait, TimeUnit.SECONDS));
    }

After Change


        for (int i = 0; i < nbTimes; i++) {
            startEndTimeArray[0] = System.nanoTime();
            final int finalIter = i;
            AssertCompletionHandler iterationHandler = new AssertCompletionHandler() {
                @Override
                public void doRequestCompleted(JSONObject content, AlgoliaException error) {
                    if (error == null) {
                        startEndTimeArray[1] = System.nanoTime();
                        final long iterDiff = startEndTimeArray[1] - startEndTimeArray[0];
                        final String iterString = String.format("iteration %d: %d < %d", finalIter, iterDiff, firstDurationNanos);

                        // And successful fastest subsequent calls
                        assertEquals(1, content.optInt("nbHits"));
                        assertTrue("Subsequent calls should be fastest than first (" + iterString + ")", startEndTimeArray[1] - startEndTimeArray[0] < firstDurationNanos);
                    } else {
                        fail(error.getMessage());
                    }
                }
            };
            handler.addInnerHandler(iterationHandler);
            index.searchAsync(new Query("Francisco"), iterationHandler);
        }
        handler.checkAssertions();
    }